Production of a television show is a tightly choreographed process involving many interlocking components. One component is the generation of scripts and rundowns for the show. A script typically includes spoken dialog as well as some indication of production elements. A rundown typically includes a timeline of each element of the show.
Generating scripts and rundowns is itself an iterative process involving writers, producers, supervisors and actors working together to produce final versions of these documents. Although this process may vary, it typically involves rounds of meetings, assignments, review, editing, and rehearsal, each of which potentially generates changes to previous script and rundown documents as well as new documents. This process thus generates many documents that must be accessed and operated on by multiple individuals, often at the same time.
Unfortunately, previous systems provided to facilitate these tasks have suffered from several problems that have limited their usefulness. In an attempt to accommodate the entry of both dialog elements and production elements into a script, previous systems require a user to enter production elements through the interaction with control and data-entry elements of separate dialog or window interface components. However, such interaction undesirably diverts the user's energy from the creative writing process.
In an attempt to accommodate the collaborative nature of script and rundown generation, previous systems have adopted a locking model of data concurrency control, in which more than one user can view a given document at once, but where only one user may have editing privileges for the document at any specific time. However, this is in fact fundamentally out of tune with such collaboration, where multiple writers and producers may wish to work on the same document at the same time from different locations while having an awareness of the others' work and without any resulting data inconsistency.
Other problems also exist in previous systems, such as an inability to easily determine which scripts are included in a given rundown, an inability to effectively search existing scripts and rundowns, and an inability to efficiently process script documents.
Therefore, a need exists for writing and production systems to enable entry of both dialog and production elements into a script without undesirably diverting the user's energy from the writing process, enable multiple users to work on the same script or rundown documents at the same time while having a real-time awareness of the others' work, and address other problems.